home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 010 / miner.bas (.txt) < prev    next >
Encoding:
GW-BASIC  |  1985-07-13  |  15.0 KB  |  342 lines

  1. 10  REM<UNK! {0009}>THIS IS THE 'ADVENTURE' GAME OF 'LOST DUTCHMAN'S GOLD',
  2. 20  REM<UNK! {0009}>ORIGINAL IN APPLESOFT BASIC BY TERI LI
  3. 40  REM<UNK! {0009}>TYPE IN AND CONVERTED TO MBASIC (4.51), BY CHRIS SIDENER
  4. 50  REM<UNK! {0009}>FROM THE LISTING IN BYTE OF DECEMBER 1980 (PAGE 268 +)
  5. 70  REM<UNK! {0009}>BASIC HACKERS AND CRONIC CODE CONVERTERS ARE INVITED TO
  6. 80  REM<UNK! {0009}>FIX, IMPROVE, DEBUG, AND OTHERWISE MAKE BETTER THIS CODE.
  7. 90  REM
  8. 100  REM<UNK! {0009}>IT IS UNDERSTOOD, OF COURSE, THAT YOU WILL MODEM IT BACK
  9. 110  REM  SO THAT ALL MAY ENJOY!
  10. 130  REM<UNK! {0009}>FIX, PATCH, EXPAND.... HAVE AT IT!    I,M TIRED.
  11. 140  REM
  12. 150  REM<UNK! {0009}><UNK! {0009}><UNK! {0009}><UNK! {0009}>** CHRIS SIDENER **
  13. 160  REM<UNK! {0009}><UNK! {0009}><UNK! {0009}><UNK! {0009}>SPRINGFIELD, VIRGINIA
  14. 170  REM
  15. 180  REM<UNK! {0009}>*******************************************************************
  16. 200  CLEAR 4000
  17. 210  PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
  18. 220  PRINT "WELCOME TO THE SEARCH FOR THE LOST DUTCHMAN'S GOLD." : PRINT "I'M THE GHOST OF BACK-PACK SAM, YER GUIDE ON THIS ADVENTURE."
  19. 230  PRINT : PRINT"YA CAN USE TWO WORD COMMANDS TO FIND CLUES 'N MOVE 'BOUT. GET, GO, PUT, DROP,"
  20. 240  PRINT "SCORE, INVENTORY, 'N 'BOUT 100 MORE WORDS MAKE SENSE TA ME." : PRINT"ASK FER HELP IF YA GET STUMPED." : PRINT "I HOPE YA DON'T END UP A GHOST,    LIKE ME!!"
  21. 250  DIM T$(200)
  22. 260  PRINT:PRINT:PRINT:PRINT"<UNK! {0009}><UNK! {0009}><UNK! {0009}>GOOD LUCK ! !" : PRINT
  23. 270  DIM N$(26,7),O$(32,3),R$(46) : B=0 : IN=B : LN=100 : LM=LN : X1=B : X2=B : T$="" : M1$=T$ : M2$=T$ : QM$=T$ : U=B : U1=B : IM=2 : BD=21 : L=1 : C$=CHR$(13)
  24. 280  FOR L=B TO 26 : FOR I=B TO 7 : READ N$(L,I) : NEXT I,L
  25. 290  FOR I=B TO 32 : READ O$(I,0),O$(I,1),O$(I,2) : O$(I,3)=" " : NEXT
  26. 300  FOR I=B TO 46 : READ R$(I) : NEXT
  27. 310  PRINT "HIT 'RETURN' TO START." : INPUT ZX : L=1 : 
  28. 320  REM
  29. 330  REM
  30. 340  REM
  31. 350  REM
  32. 360  REM
  33. 370  IF ((O$(12,2)=STR$(L) OR O$(12,3)="1") AND CL > 0) OR L < 15 THEN 420
  34. 380  PRINT "IT'S TOO DARK TA SEE !!" : IF L=15 AND O$(6,3) <> "1" AND O$(4,3) <> "1" THEN PRINT "YA HEAR A STRANGE NOISE !"
  35. 390  GOTO 750
  36. 400  T$="OK" : RETURN
  37. 410  B=1 : PRINT : PRINT "YA SEE : "; : RETURN
  38. 420  IF CL=1 THEN LN=LN-1 : IF LN < 1 THEN CL=0
  39. 430  L1=L
  40. 440  B=0 : PRINT "YER "N$(L,0)"." : FOR J=0 TO 32 : IF VAL(O$(J,2)) <> L THEN 560
  41. 450  IF B=0 THEN GOSUB 410
  42. 460  IF O$(J,3)="-7" OR O$(J,3)="-2" THEN PRINT "BURNT ";
  43. 470  IF J <> 1 OR VAL(O$(1,2)) <> L THEN 500
  44. 480  IF O$(1,3)="" THEN PRINT "UNTIED "; : GOTO 500
  45. 490  IF O$(1,3)="-9" THEN PRINT "DEAD ";
  46. 500  IF O$(J,3)="-3" THEN PRINT "SMASHED ";
  47. 510  IF L <> 26 OR J <> 32 THEN 540
  48. 520  IF U1 <> 0 THEN PRINT "UN";
  49. 530  PRINT "LOCKED ";
  50. 540  IF CL=1 AND J=12 THEN PRINT "LIT ";
  51. 550  PRINT O$(J,0)". ";
  52. 560  NEXT J
  53. 570  IF U1=1 AND L=1 THEN PRINT "OPEN TRAP DOOR. ";
  54. 580  IF N$(L,1)="" THEN PRINT : GOTO 690
  55. 590  IF B=0 THEN GOSUB 410
  56. 600  IF L <> 16 THEN 630
  57. 610  IF U <> 0 THEN PRINT "UN";
  58. 620  PRINT "LOCKED "; : GOTO 660
  59. 630  IF L <> 17 THEN 660
  60. 640  IF U=1 THEN PRINT "UNLOCKED "; : GOTO 660
  61. 650  PRINT "BLOCKED ";
  62. 660  PRINT N$(L,1)".
  63. 670  IF L=17 AND U=0 THEN N$(L,2)=" "+RIGHT$(N$(L,2),3)
  64. 680  IF L=16 AND U=1 THEN N$(L,2)="E"+RIGHT$(N$(L,2),3)
  65. 690  PRINT : IF N$(L,2)="" THEN 750
  66. 700  PRINT "OBVIOUS EXITS : "; : FOR I=1 TO 4 : P$=MID$(N$(L,2),I,1) : IF P$="N" THEN PRINT "NORTH ";
  67. 710  IF P$="S" THEN PRINT "SOUTH ";
  68. 720  IF P$="E" THEN PRINT "EAST ";
  69. 730  IF P$="W" THEN PRINT "WEST ";
  70. 740  NEXT : PRINT
  71. 750  B=0 : PRINT "=======================================
  72. 760  PRINT: IF L=9 AND O$(22,2)="11" THEN PRINT "THAR'S NOISE UP AHEAD." : PRINT "SOUNDS LIKE INJUNS.
  73. 770  IF L=9 AND O$(22,2)="" THEN O$(22,2)="11"
  74. 780  INPUT " --NOW WHAT";QM$
  75. 790  IF LN <10 AND CL=1 THEN PRINT "YER RUNNIN' LOW ON KEROSENE.
  76. 800  REM
  77. 810  IF QM$ <> "SCORE" THEN 870
  78. 820  IF L <> 6 THEN T$= "YA GET NOTHIN' FOR BEIN' HERE!" : GOTO 2990
  79. 830  Z=0 :FOR I=14 TO 17 : IF O$(I,2) = "6" THEN Z=Z+1
  80. 840  NEXT
  81. 850  PRINT "YA GOT "Z" TREASURES, TOT'LIN "(Z/4)*100"%" : IF Z = 4 THEN PRINT "YA MADE IT!!": GOTO 3290
  82. 860  T$= "YA MISSED SUN TREASURE!" : GOTO 2990
  83. 870  IF CL=0 AND L=15 AND O$(6,3) <> "1" THEN PRINT "YE GAD!" : PRINT "YA BEEN BIT BY A RATTLER." : PRINT "YER DEAD." :GOTO 3290
  84. 880  IF L=17 AND U=1 AND RND(1)*9+1 < 2 THEN PRINT "HOLEY CRAP! WOWIE!! IT'S A CAVE IN !! ": PRINT "THE IRON DOOR'S BLOCKED, " : PRINT "YER TRAPPED!!" : U=0
  85. 890  IF QM$="HELP" THEN X=VAL(N$(L,3)) : ON X GOSUB 3310,3320,3330,3340,3360,3380,3390,3400, : GOTO 370
  86. 900  X1 =LEN(QM$) : IF X1 <3 THEN T$="WHAT?" : GOTO 2990
  87. 910  X3=0 : FOR X2=3 TO X1 : M1$= MID$(QM$,X2,1) : IF M1$=" " THEN X3 = X2 : X2=X1
  88. 920  NEXT X2 : X2 = X3 : IF X3 =0 THEN X2 = X1
  89. 930  P$ = LEFT$(QM$,3) : IF X2 < > X1 AND X2+ 3 > X1 THEN 1160
  90. 940  II =-1 : FOR I= 0 TO 42 : IF P$=R$(I) THEN II=I
  91. 950  NEXT : IF II > -1 THEN I= II : GOTO 990
  92. 960  IF X1 = X2 THEN T$= "WHAT?" : GOTO 2990
  93. 970  T$="SORRY, BUT YA CAN'T "+ LEFT$(QM$,X2) : IF X2 < X1 THEN T$=T$ + RIGHT$(QM$,X1 - X2)
  94. 980  T$=T$+ "." : GOTO 2990
  95. 990  IF I < 8 AND X1=X2 THEN ON I+1 GOSUB 3130,3130,3130,3290,1230,3140,3000,3100 : GOTO 2990
  96. 1000  JJ= -1 : M1$ = MID$(QM$,X2+1,3) : FOR J= 0 TO 32 : IF M1$ = LEFT$ (O$(J,0),3) THEN JJ = J
  97. 1010  NEXT : J= JJ : IF JJ > -1 THEN 1170
  98. 1020  IF M1$ = "IRO" THEN 1130
  99. 1030  IF I=36 THEN 1570
  100. 1040  IF N$(L,1) = "" THEN 1100
  101. 1050  Z=1 : A = Z : X1 = LEN(N$(L,1)) : FOR X2 = 5 TO X1 : IF MID$(N$(L,1),X2,1) <> CHR$(46) AND X2 <> X1 THEN NEXT : GOTO 1100
  102. 1060  M2$=MID$(N$(L,1),Z,3) : IF M2$=M1$ THEN 1080
  103. 1070  Z=X2+2 : A=A+1 : GOTO 1100
  104. 1080  X2=X1 : B=A : IF I=10 THEN PRINT "YA SEE NOTHIN' SPECIAL." : GOTO 430
  105. 1090  GOTO 1170
  106. 1100  FOR X=43 TO 46 : IF M1$=R$(X) THEN X=46 : NEXT : GOTO 1210
  107. 1110  REM
  108. 1120  IF O$(4,3) = "1" OR O$(6,3) = "1" THEN IF I=23 AND M1$= "SEL" THEN PRINT "OK" : PRINT "YER DEAD." : GOTO 3290
  109. 1130  IF I=32 THEN GOSUB 1390 : GOTO 2990
  110. 1140  IF I=33 THEN GOSUB 1510 : GOTO 2990
  111. 1150  T$ = "I CAN'T TELL WHATCHA WANT." : GOTO 2990
  112. 1160  T$ ="I MUST BE DUMB, YA DON'T MAKE SENSE." : GOTO 2990
  113. 1170  IF I < 9 THEN 1210
  114. 1180  IF J < 33 AND J > -1 THEN B= VAL(O$(J,2)) : IF B<> L AND B> 0 THEN 2980
  115. 1190  IF J > 32 THEN J= 29
  116. 1200  ON I - 8 GOSUB 1990,2210,2210,2210,1990,2610,2610,2610,2610,2810,2810,1990,1270,1270,1750,1740,1740,1550,1830,1920,1950,1340,1340,1390,1510,1990,1540,1570,2610,2600,2150,2170,2810,3410
  117. 1210  IF I < 9 THEN ON I+1 GOSUB 1590,1590,1590,3290,1230,1590,3000,3100,2150
  118. 1220  GOTO 2990
  119. 1230  IF O$(3,3) <> "1" THEN 2980
  120. 1240  PRINT "OK" : FOR I=13 TO 17 : IF VAL(O$(I,2)) = -L THEN T$ = "EUREKA! WE STRUCK GOLD?!??" : O$(I,2) = STR$(L) : RETURN
  121. 1250  NEXT
  122. 1260  T$ = "DAG NAB IT! THAR'S NOTHIN' HERE!" : RETURN
  123. 1270  IF J <> 23 THEN 1740
  124. 1280  IF L= 14 THEN O$(23,2) = "15" : GOTO 400
  125. 1290  IF L = 15 THEN O$(23,2) = "16" : GOTO 400
  126. 1300  IF L= 16 AND U= 1 THEN O$(23,2) = "17" : GOTO 400
  127. 1310  IF L=17 THEN O$(23,2) = "19" : GOTO 400
  128. 1320  IF L=19 THEN O$(23,2) = "23" : O$(23,3) = "-3
  129. 1330  GOTO 400
  130. 1340  IF J=3 OR J=4 OR J= 6 OR J=8 OR J=9 OR J=11 OR J=12 OR J=13 OR J=19 OR J=27 OR J=28 THEN 1360
  131. 1350  GOTO 1730
  132. 1360  IF O$(J,3) = "1" THEN IN = IN-1
  133. 1370  O$(J,3) = "-3" : O$(J,2) = STR$(L) : GOTO 400
  134. 1380  T$ = "DON'T HAFTA." : RETURN
  135. 1390  IF L <> 16 THEN 1430
  136. 1400  IF U <> 0 THEN 1380
  137. 1410  IF O$(10,3) = "1" THEN U = 1 : GOTO 400
  138. 1420  GOTO 2980
  139. 1430  IF L <> 26 THEN 1470
  140. 1440  IF U1 <> 0 THEN 1380
  141. 1450  IF O$(10,3) = "1" THEN U1 = 1 : RETURN
  142. 1460  GOTO 2980
  143. 1470  IF O$(1,3) <> "1" THEN 1500
  144. 1480  IF O$(0,3) = "2" THEN O$(0,3) = "" : O$(0,2) = STR$(L) : GOTO 400
  145. 1490  GOTO 1730
  146. 1500  IF CL = 1 AND O$(12,3) = "1" THEN CL=0 : GOTO 400
  147. 1510  IF (L=16 OR L=17) AND U = 1 THEN U=0 : GOTO 400
  148. 1520  IF L=26 AND U1 =1 THEN U1 =0 : GOTO 400
  149. 1530  GOTO 1730
  150. 1540  T$= "YA HEAR NOTHIN' SPECIAL." : RETURN
  151. 1550  IF L <> 11 OR O$(9,3) <> "1" THEN 2150
  152. 1560  PRINT "THEY TOOK THE FIRE WATER 'N RAN." : IN=IN-1 : O$(9,2) = "" :O$(9,3) = "" : O$(22,2) = "" : RETURN
  153. 1570  IF M1$= "YOH" THEN T$= "TURKEY!" : PRINT "SORRY, YER IN THE WRONG ADVENTURE." : GOTO 2990
  154. 1580  GOSUB 400 : T$=T$+ CHR$(13)+ RIGHT$(QM$,X1 - X2)+ "." : GOTO 2990
  155. 1590  IF B=0 THEN 1640
  156. 1600  L= VAL(N$(L,B+3)) : IF O$(1,3)= "1" AND (L=1 OR L=6 OR L=15) THEN T$ ="HE WON'T GO." : L=L1 : RETURN
  157. 1610  IF L=17 AND U=0 THEN L=L1 : GOTO 2980
  158. 1620  IF L1 = 26 AND L=1 AND U1=0 THEN L=L1 : GOTO 2980
  159. 1630  GOTO 1740
  160. 1640  IF U1 = 1 AND L=1 THEN L=26 : GOTO 400
  161. 1650  IF U1 =1 AND M1$="TRA" AND L=26 THEN L=1 : RETURN
  162. 1660  FOR X1= 1 TO 4 : M2$= MID$(N$(L,2),X1,1) : IF M2$ <> LEFT$(M1$,1) THEN NEXT X1 : GOTO 1690
  163. 1670  FOR X2=43 TO 46 : IF M1$ <> R$(X2) THEN NEXT X2 : GOTO 1690
  164. 1680  L=VAL(N$(L,X1+3)) : IF L <> 0 THEN 1740
  165. 1690  IF L=23 THEN T$="IT'S TOO SLIPPERY." :RETURN
  166. 1700  IF L=25 THEN L=26 : RETURN
  167. 1710  IF L=26 THEN L=25 : RETURN
  168. 1720  IF L=19 THEN L=23 : PRINT "NIGH BROKE M' NECK!!" :RETURN
  169. 1730  T$= "SORRY, BUT YA CAN'T DO THAT." : RETURN
  170. 1740  B=0 : GOTO 400
  171. 1750  IF O$(4,3) <> "1" AND O$(6,3) <> "1" THEN 2150
  172. 1760  IF J <> 1 THEN 1800
  173. 1770  Z=0 : IF O$(J,3) = "1" THEN Z=99
  174. 1780  O$(J,3) = "-9" : O$(1,2) = STR$(L)
  175. 1790  IF Z=99 THEN IN=IN-1
  176. 1800  IF J=22 THEN PRINT "YA GOT ONE!" : PRINT "BUT THE REST GOT YOU!" : GOTO 3290
  177. 1810  IF J=9 THEN T$ = "YA HIT ONE!" : RETURN
  178. 1820  GOTO 400
  179. 1830  IF O$(18,3) <> "1" THEN 2980
  180. 1840  IF J < 0 THEN 970
  181. 1850  IF J=4 OR (J>5 AND J<11) OR (J>14 AND J < 18) OR J=22 OR J=29 OR J > 30 THEN 1730
  182. 1860  IF O$(J,3)="1" THEN IN=IN -1
  183. 1870  O$(J,3)="-7" : O$(J,2) = STR$(L)
  184. 1880  IF J > 0 THEN 1740
  185. 1890  IF O$(0,3) <> "-7" THEN 1740
  186. 1900  O$(0,2) = STR$(L) : FOR J=5 TO 21 : IF O$(J,2) = "-1" THEN O$(J,3) = "-7"
  187. 1910  NEXT : GOTO 1740
  188. 1920  IF J <> 12 THEN 1830
  189. 1930  IF O$(J,3) <> "1" OR O$(18,3) <> "1" THEN 1830
  190. 1940  CL = 1 : GOTO 400
  191. 1950  IF J=13 THEN PRINT "YEEECH!!" : PRINT"IT'S KEROSENE!" : PRINT "YA JUST POISONED YERSELF." : GOTO 3290
  192. 1960  IF J <> 9 THEN 1730
  193. 1970  PRINT "WHEEEE!!" : PRINT "YA GOT PLASTERED AND LOST A DAY." : IF CL=1 THEN LN=LN-10
  194. 1980  RETURN
  195. 1990  IF J > 32 OR J < 0 THEN 2030
  196. 2000  B= VAL(O$(J,2)) : IF O$(J,3) = "2" OR B=L OR B= -1 THEN 2030
  197. 2010  IF J < 22 THEN 2980
  198. 2020  T$= "IT AIN'T HERE." : RETURN
  199. 2030  IF J > 21 OR J=1 OR J= -1 THEN T$="WHO YOU THINK YA IS, PAUL BUNYON?!!" :RETURN
  200. 2040  IF O$(J,3) = "-7" THEN T$="IT'S BURNT UP 'N RUINED." : RETURN
  201. 2050  IF IN > 4 THEN T$="YA CAN'T! YER HANDS 'R FULL." : RETURN
  202. 2060  IF O$(J,3)="1" THEN PRINT "YA ALREADY GOT IT!" : RETURN
  203. 2070  IF VAL(O$(J,1))= 0 AND I <> 16 THEN 2100
  204. 2080  IN=IN+1 : IF O$(J,2) = "-1" THEN IM=IM-1 : O$(J,2)="" : O$(J,3)="1" :GOTO 2100
  205. 2090  O$(J,3)="1" : O$(J,2) =""
  206. 2100  IF J <> 9 AND J <> 11 AND J <> 2 THEN 400
  207. 2110  IF J=9 THEN IF O$(8,2)="-6" THEN O$(8,2) = "6"
  208. 2120  IF J=11 THEN IF O$(12,2)= "-8" THEN O$(12,2)="8
  209. 2130  IF J=2 THEN IF O$(18,2)="-14" THEN O$(18,2)="14
  210. 2140  RETURN
  211. 2150  IF O$(J,3) <> "1" THEN T$= "YA DON'T HAVE IT!" :RETURN
  212. 2160  T$="OK" : IN=IN-1 : O$(J,2)= STR$(L) : O$(J,3) = "" : RETURN
  213. 2170  IF O$(5,3) <> "1" THEN 2980
  214. 2180  IF L=7 THEN L=8 : GOTO 400
  215. 2190  IF L=12 THEN L=13
  216. 2200  GOTO 400
  217. 2210  GOSUB 400 : ON J+1 GOTO 2230,2270,2280,2300,2310,2320,2330,2300,2300,2340,2360,2370,2390,2400,2300,2300,2300,2300,2300,2420,2440,2460,2480,2490,2500,2520,2300,2540,2300,2300,2300,2560,2300
  218. 2220  GOTO 2300
  219. 2230  IF VAL (O$(0,3)) < 1 THEN T$= "THEY'S LUMPY OL' LEATHER SADDLEBAGS." : RETURN
  220. 2240  PRINT "THEY HOLD ";: IF IM=0 THEN PRINT "NOTHIN'." : T$="" : RETURN
  221. 2250  FOR I=6 TO 22 : IF O$(I,2) = "-1" THEN PRINT " "O$(I,0)",";
  222. 2260  NEXT : T$= CHR$(8)+"." : RETURN
  223. 2270  T$="YA SEE A WEARY OL' GREY MULE." : RETURN
  224. 2280  T$="IT'S AN OL' TORN SACK." : IF O$(18,2)= "-14" THEN O$(18,2)="14"
  225. 2290  RETURN
  226. 2300  T$="YA SEE NOTHIN' SPECIAL." : RETURN
  227. 2310  T$="IT'S AN OLD WINCHESTER SINGLE-SHOT." : RETURN
  228. 2320  T$="LOOKS LIKE A MAP TA THE LOST DUTCHMAN'S MINE! THAR'S A SKETCH OF SOME BOULDERS." : RETURN
  229. 2330  T$="NOTHIN' SPECIAL,"+C$+"JUS' A LOADED SIX SHOOTER." : RETURN
  230. 2340  IF O$(8,2) = "-6" THEN T$="LOOKS LIKE SOMETHIN'S 'HIND THE BOTTLES." : O$(8,2)="6" : RETURN
  231. 2350  GOTO 2300
  232. 2360  T$ ="THAR'R 3 KEYS, TIED WITH A LEATHER STRAP" : RETURN
  233. 2370  IF O$(12,2) = "-8" THEN T$="LOOKS LIKE THAR'S GLASS UNDER 'UM." : O$(12,2)="8" : RETURN
  234. 2380  GOTO 2300
  235. 2390  T$="IT'S AN OL' KEROSENE LAMP, FULL TA THE '"+STR$(LN)+" TURNS LEFT' MARK." : RETURN
  236. 2400  IF I=11 THEN T$="IT SEZ 'KEROSENE.'" : RETURN
  237. 2410  T$="THAR'S WRITING ON IT." : RETURN
  238. 2420  IF O$(20,2) = "-17" THEN O$(20,2) ="17" : T$="IT'S A MESSAGE !" : RETURN
  239. 2430  GOTO 2300
  240. 2440  IF I=11 THEN T$="IT SEZ :"+C$+"BRING TREASURES TO SALOON, SAY 'SCORE.'" : RETURN
  241. 2450  GOTO 2410
  242. 2460  IF I=11 THEN T$="IT SEZ.. ";: PRINT"HAVEN'T YOU ANYTHING BETTER TO DO?" : RETURN
  243. 2470  GOTO 2410
  244. 2480  T$="THEY'S A SAVAGE LOOKIN' BAND,"+C$+"'N THEY SEEN YA!" : RETURN
  245. 2490  T$="JUS' AN OL' CART FULL O' ROCKS." : RETURN
  246. 2500  IF O$(5,2)="-25" THEN O$(5,2)="1" : T$="THAR'S SOMETHIN' HERE!!" : RETURN
  247. 2510  GOTO 2300
  248. 2520  IF I=11 THEN T$="IT SEZ :"+C$+"WELCOME TO FRONTIERTOWN." : RETURN
  249. 2530  GOTO 2410
  250. 2540  IF O$(10,2) ="-6" THEN O$(10,2) ="6" : T$="THAR'S A SET OF KEYS THAR!" : RETURN
  251. 2550  GOTO 2300
  252. 2560  B=INT(RND(1)*3+1) : ON B GOTO 2570,2580,2590
  253. 2570  T$="IT'S A BARREL CACTUS." : RETURN
  254. 2580  T$="IT'S A CHOLLA CACTUS." : RETURN
  255. 2590  T$="IT'S A SAGUARO CACTUS." : RETURN
  256. 2600  IF J=4 AND I=38 THEN 2740
  257. 2610  IF J <> 1 OR VAL(O$(1,3)) < 0 THEN T$="SORRY, BUT THAT AIN'T POSSIBLE." : RETURN
  258. 2620  IF I <> 38 THEN 2650
  259. 2630  IF O$(1,3) ="" THEN T$="TENDERFOOT! YA HAFTA LEAD 'IM FIRST." : RETURN
  260. 2640  GOTO 2740
  261. 2650  IF O$(1,3)="1" THEN 2150
  262. 2660  IF O$(7,3)="1" THEN IF I <> 16 THEN T$= "TRY 'LEAD.' : RETURN
  263. 2670  ON I-13 GOTO 2680,2690,2700,2730
  264. 2680  T$="HE GOT AWAY FROM YA." : RETURN
  265. 2690  T$="YER TOO SLOW, HE GOT AWAY." : RETURN
  266. 2700  IF O$(7,3) <> "1" THEN T$="BAD LUCK, YA TRIPPED AND HE RAN OFF." : O$(1,3)="" : O$(1,2) = STR$(L) : RETURN
  267. 2710  IF O$(1,3) ="" THEN 2050
  268. 2720  GOTO 2150
  269. 2730  T$="HE BUCKED YA OFF." : RETURN
  270. 2740  INPUT "WITH WHAT";QM$ : IF J=4 THEN 2780
  271. 2750  IF LEFT$(QM$+" ",3) <> "SAD" THEN T$="IT FELL OFF."+C$+"HE GOT AWAY." O$(1,3)="" : IN=IN-1 : O$(1,2)= STR$(L) : RETURN
  272. 2760  IF O$(0,3)="1" THEN O$(0,3)="2" : IN=IN-1 : GOTO 1740
  273. 2770  GOTO 2150
  274. 2780  IF LEFT$(QM$+" ",3) <> "BUL" THEN 1730
  275. 2790  IF O$(8,3) <> "1" OR O$(4,3) <> "1" THEN 2150
  276. 2800  GOTO 400
  277. 2810  IF O$(J,3) <> "1" THEN 2150
  278. 2820  INPUT "ON OR IN WHAT? (IE 'ON TABLE') ";QM$ : P$=LEFT$(QM$+" ",2) : IF P$ <> "IN" AND P$ <> "ON" THEN T$="HUH?" : RETURN
  279. 2830  M1$=MID$(QM$,4,3)
  280. 2840  IF P$ <> "ON" THEN 2890
  281. 2850  IF M1$="MUL" THEN 2760
  282. 2860  IF J <> 13 THEN 2150
  283. 2870  IF LM=0 THEN T$="IT'S EMPTY." : RETURN
  284. 2880  LM=0 : GOTO 2150
  285. 2890  IF M1$ <> "SAD" THEN 2930
  286. 2900  IF J < 5 OR J=19 OR J=22 THEN T$="SORRY, IT DON'T FIT." : RETURN
  287. 2910  IF IM > 4 THEN T$= "THE BAGS 'R FULL." : RETURN
  288. 2920  O$(J,2)="-1" : O$(J,3)="" : IN=IN-1 : IM = IM+1 : T$="OK" : RETURN
  289. 2930  IF M1$ = "MUL" THEN T$="YA GOT KICKED !" : RETURN
  290. 2940  IF M1$ <> "LAN" THEN 1730
  291. 2950  IF O$(13,3) <> "1" OR O$(12,3) <> "1" THEN 2150
  292. 2960  IF LM=50 THEN LN=LN+50 : LM =0 : GOTO 400
  293. 2970  T$="JAR'S EMPTY." :RETURN
  294. 2980  T$="YA CAN'T DO THAT... YET!
  295. 2990  PRINT T$ : T$="" : GOTO 370
  296. 3000  PRINT "YA GOT WITH YA: "; : IF IN=0 AND O$(1,3) <> "1" THEN T$="NOTHIN'" : RETURN
  297. 3010  B=VAL(O$(0,3)) : X1=B : IF B <> 1 THEN 3040
  298. 3020  PRINT : PRINT O$(0,0)", CONTAINING: "; : FOR I=1 TO 22 : IF O$(I,2)="-1" THEN PRINT O$(I,0)". ";:X1=2
  299. 3030  NEXT : IF X1 <> 2 THEN PRINT "NOTHIN'! ";
  300. 3040  IF O$(1,3)="1" THEN PRINT : PRINT "THE MULE, WHICH YER LEADIN. "; : IF B=2 THEN PRINT "(CARRYIN' SADDLEBAGS) ";
  301. 3050  PRINT : X1=0 : FOR I=2 TO 22 : IF VAL(O$(I,3)) < 1 THEN 3080
  302. 3060  IF CL=1 AND I=12 THEN PRINT "LIT ";
  303. 3070  PRINT O$(I,0)". ";
  304. 3080  NEXT
  305. 3090  T$="" : RETURN
  306. 3100  IF L=19 THEN PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT "YA FELL 100 FEET 'N LANDED ON THE ROCKS." : PRINT:PRINT:PRINT"<UNK! {0009}><UNK! {0009}>YER DEAD." : GOTO 3290
  307. 3110  IF J=23 OR J=32 OR M1$="P" THEN T$="OK" : RETURN
  308. 3120  GOTO 1730
  309. 3130  T$="WHERE?" : RETURN
  310. 3140  IF L=25 THEN L=26 : GOTO 400
  311. 3150  IF L=26 THEN L=25
  312. 3160  GOTO 400
  313. 3170  DATA ,,,,,,,,IN A MINER'S SHACK,WINDOW. DOOR,,1,3,3,,,IN A DESERT,ROAD. MOUNTAINS. DESERT,WNES,2,4,2,2,2,ON A DIRT PATH,MINER'SHACK. ROAD. MOUNTAINS," W ",5,1,4,2,2
  314. 3180  DATA ON A DIRT ROAD,MOUNTAINS. PATH. DESERT. TOWN,NE S,2,7,3,2,5,IN A GHOST TOWN,SALOON," N ",1,6,4,,,IN A SALOON,,W   ,1,5,,,
  315. 3190  DATA AT THE SUPERSTITION MOUNTAINS,ROAD. DESERT,S N ,4,4,2,2,2,AT WEAVER'S NEEDLE,,NS  ,1,9,7,,
  316. 3200  DATA IN A NARROW DEFILE,BUSHES. CAVES,"  NS",1,11,10,12,8,IN A SMALL CAVE,,E   ,1,9,,,,BEHIND A BUSH,BUSH.,W   ,1,9,,,,IN A BOX CANYON,BUSHES. TREES. BOULDERS,"   S",4,12,12,12,9
  317. 3210  DATA IN FRONT OF A HIDDEN MINE,MINE SHAFT,ESNW,8,14,12,12,12,IN THE MOUTH OF A DIM MINE,MINE SHAFT,EW  ,1,15,13,,,IN A MINE,DARK TUNNEL,EW,6,16,14,,
  318. 3220  DATA AT THE END OF A TUNNEL,IRON DOOR," W  ",1,17,15,,,IN A LARGE CHAMBER,IRON DOOR,WNES,1,16,19,18,20,IN A MAZE OF TUNNELS,,NSEW,6,18,18,18,18,IN FRONT OF A PIT,DARK HOLE," S  ",7,23,17,,
  319. 3230  DATA AT AN INTERSECTION,," SNW",6,,22,17,21,IN A DEAD END TUNNEL,,E   ,8,20,,,,IN A BLOCKED TUNNEL,,N   ,8,20,,,,AT THE BOTTOM OF A SHAFT,WALLS,S   ,8,24,,,
  320. 3240  DATA IN A TUNNEL,,NS  ,6,23,25,,,AT THE END OF A TUNNEL,LADDER," N  ",6,26,24,,,AT THE TOP OF A LADDER,,,6,1,25,,
  321. 3250  DATA SADDLEBAGS,2,1,MULE,,3,BURLAP SACK,4,14,SHOVEL,4,1,RIFLE,4,1,MAP,1,-25,GUN,1,-1,CARROTS,1,-1,BOX OF RIFLE BULLETS,1,-6,WHISKEY BOTTLES,2,6,KEYS,1,-6,PILE OF BONES (MINE),2,8
  322. 3260  DATA LANTERN,2,-8,JAR OF LIQUID,1,-11,*SPANISH COINS*,1,-10,*TOURQUOISE*,1,-23,#SILVER#,1,-21,#GOLD#,1,-22,MATCHES,1,-14,CRATES,3,17,NOTE,1,-17,PAPER,1,6,INDIANS,,11
  323. 3270  DATA ORE CART,,14,BED,,1,SIGN,,5,BROKEN GLASS,,6,TABLES,,6,CHAIRS,,6,ROCKS,,10,WOODEN RAILS,,15,CACTUS,,2,TRAP DOOR,,26
  324. 3280  DATA GO ,ENT,RUN,QUI,DIG,CLI,INV,JUM,DRO,GET,EXA,REA,LOO,MOV,CAT,CHA,LEA,RID,PUT,PLA,PIC,PUS,PUL,SHO,OPE,CLO,GIV,BUR,LIG,DRI,BRE,HIT,UNL,LOC,TAK,LIS,SAY,FEE,LOA,UNT,FOL,POU,EAT,NOR,SOU,EAS,WES
  325. 3290  PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT: INPUT "DO YA WANNA TRY AGAIN";QM$ : IF LEFT$(QM$+" ",1)="Y" THEN RUN
  326. 3300  REM
  327. 3310  PRINT "TRY EXAM'NIN THIN'S." : RETURN
  328. 3320  PRINT "ROADS GO PLACES." : RETURN
  329. 3330  PRINT "MAYBE THE TRAIL GOES SOMEWHAR." : RETURN
  330. 3340  IF O$(5,3) <> "1" THEN PRINT "YA GOT A MAP?" :RETURN
  331. 3350  PRINT "TRY 'FOLLOW.'" : RETURN
  332. 3360  IF VAL(O$(1,2))=L THEN PRINT "THE MULE LOOKS THIN." : RETURN
  333. 3370  GOTO 3310
  334. 3380  PRINT "KEEP GOIN'." : RETURN
  335. 3390  PRINT "IT'S SLIPRY, BUTCHA MIGHT MAKE IT DOWN." : RETURN
  336. 3400  PRINT "THIS HERS'S A MINE, YA KNOW." : RETURN
  337. 3410  IF J=7 THEN T$="THEY TASTE PURTY GOOD." : RETURN
  338. 3420  T$="CAN'T DO THAT... WEIRDO !" : RETURN
  339. 3430  INPUT "SURE ";QM$ : IF LEFT$(QM$+" ",1) <> "Y" THEN 780
  340. 3440  GOTO 780
  341. 3450  END
  342.